﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SIIE_ERP.BaseDatos.Configuracion;

namespace SIIE_ERP.Codigo
{
    public class UsuarioActivo
    {
        public int IdUsuario { get; set; }
        public DateTime UltimaFecha { get; set; }
        public string UserName { get; set; }
        public string RFC { get; set; }

        public UsuarioActivo(string UserName)
        {
            this.UltimaFecha = DateTime.Now;
            this.UserName = UserName;
            var db = new SIIE_ERP.BaseDatos.Configuracion.dbo_Sec_Usuario();
            this.IdUsuario = db.Get_Id_Usuario(UserName);
            this.RFC = "XXX"; // TODO: Tomar el valor del RFC de algun lado
            
            //Variables de Punto de Venta
            PV_CajaIsOpen = false;
            PV_Id_Terminal = 1;

            if (IdUsuario == -1) InvalidarSesion(); // Dificilmente esto pasará ya que se autentico al usuario instantes atrás          
        }

        public bool ChecarFecha() {
            if (this.UltimaFecha.AddMinutes(20) > DateTime.Now)
                return true;
            return false;            
        }

        public void ActualizaFecha() {
            this.UltimaFecha = DateTime.Now;
        }

        public void InvalidarSesion()
        {
            this.IdUsuario = -1;
            this.UltimaFecha = DateTime.MinValue;
            this.UserName = "";
        }

        #region PUNTO DE VENTA

        public bool PV_CajaIsOpen { get; set; }
        public int PV_Id_Terminal { get; set; }

        #endregion
    }
}
